package cn.yunyichina.provider.hisiface.service.impl;

import java.util.List;

import org.springframework.stereotype.Service;

import cn.yunyichina.provider.hisiface.service.AbstractService;
import cn.yunyichina.provider.iface.entity.common.ResCommon;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalExamDetailVo;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalExamDetailVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalExamItemDetailVo;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalExamItemDetailVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalExamListVo;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalExamListVoResponse;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalReportImageVo;
import cn.yunyichina.provider.iface.entity.hisiface.physical.PhysicalReportImageVoResponse;

/**
 * 体检
 *
 * @author zhou
 * @date 2017年9月15日
 */
@Service
public class HisifacePhysicalServiceImpl extends AbstractService {

    /**
     * 体检报告列表查询
     * 
     * @param physicalExamListVo
     * @return
     */
    public ResCommon<List<PhysicalExamListVoResponse>> getPhysicalExamList(PhysicalExamListVo physicalExamListVo) {
        String methodCode = "getPhysicalExamList";
        String methodName = "体检报告列表查询";
        
        return doExecList(methodCode, methodName, physicalExamListVo, PhysicalExamListVoResponse.class);
    }
    
    /**
     * 体检报告详情查询
     * 
     * @param physicalExamDetailVo
     * @return
     */
    public ResCommon<PhysicalExamDetailVoResponse> getPhysicalExamDetail(PhysicalExamDetailVo physicalExamDetailVo) {
        String methodCode = "getPhysicalExamDetail";
        String methodName = "体检报告详情查询";
        
        return doExec(methodCode, methodName, physicalExamDetailVo, PhysicalExamDetailVoResponse.class);
    }
    
    /**
     * 体检报告项目详情查询
     * 
     * @param physicalExamItemDetailVo
     * @return
     */
    public ResCommon<List<PhysicalExamItemDetailVoResponse>> getPhysicalExamItemDetail(PhysicalExamItemDetailVo physicalExamItemDetailVo) {
        String methodCode = "getPhysicalExamItemDetail";
        String methodName = "体检报告项目详情查询";
        
        return doExecList(methodCode, methodName, physicalExamItemDetailVo, PhysicalExamItemDetailVoResponse.class);
    }
    
    /**
     * 体检报告项目详情查询
     * 
     * @param physicalReportImageVo
     * @return
     */
    public ResCommon<List<PhysicalReportImageVoResponse>> getPhysicalReportImage(PhysicalReportImageVo physicalReportImageVo) {
        String methodCode = "getPhysicalReportImage";
        String methodName = "体检报告项目详情查询";
        
        return doExecList(methodCode, methodName, physicalReportImageVo, PhysicalReportImageVoResponse.class);
    }
}
